package list;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class setAPI {
    /**
     * set集合是Collection集合子接口
     * set集合接口：无序  无下标  元素不可重复【唯一性】
     * set集合方法与Collection集合方法【使用一致】
     * add()  remove() contains()  size()  clear()
     * 使用Iterator迭代器遍历
     * HashSet：由哈希算法实现，不保证元素顺序，不允许元素重复，可以存null
     * LinkedHashSet【方法与HashSet一致】：由哈希算法实现，保证元素顺序
     *                                  不允许元素重复  可以存null
     *TreeSet【算法：红黑树】：不可以存null，按照元素自然顺序或者指定比较器进行元素储蓄
     *                      不允许元素重复
     */
    public void  testSet(){
        Set<String> c=new HashSet<>();
        c.add("喜喜");c.add("哈哈");c.add("呵呵");
        c.add(null);
        System.out.println("c集合"+c);
        boolean b=c.contains("喜喜");
        System.out.println("判断集合是否存在喜喜元素"+b);
        System.out.println("判断集合长度"+c.size());
        Iterator it=c.iterator();
        while (it.hasNext()){//问：c集合有没有元素
            String str=(String) it.next();//取：c集合元素
            //null  应用类型默认值   不是字符串
            //判断明确的值   必须==
            //判断是对象  使用"字符串".equals(str) 实值
            //                   obj.equals(add) 地址值
            if(str==null){//删
                it.remove();

            }

        }
        System.out.println(c);
    }





















}




